iT邦幫忙

2022 iThome 鐵人賽

DAY 7
0
DevOps

30天WebSphere入門及經驗分享系列 第 7

D07/在WebSphere 建立資料庫連線池(三)

  • 分享至 

  • xImage
  •  

延續昨天的作業,建立JDBC provider之後,右側選單 > Resources > JDBC > Data sources
Scope一樣選到Cell=DefaultCell01,並按下[New...]按鈕,新增資料來源,

Data source name:iron30
JNDI name:jdbc/iron30
https://ithelp.ithome.com.tw/upload/images/20220921/20128973W1IaP1OKsq.png

按下next到下一頁,選擇剛剛新增的privoder [Oracle JDBC provider]
https://ithelp.ithome.com.tw/upload/images/20220921/20128973x9ycgrT3ci.png

按下next,到下一頁需要提供DB的連線資訊,
https://ithelp.ithome.com.tw/upload/images/20220921/20128973PPFMk6prgk.png
下指令查出我們建立的Oracle DB 的IP是多少
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' test-oracle-db
https://ithelp.ithome.com.tw/upload/images/20220921/20128973uUdF8xohaI.png
我的是172.17.0.2
因此db url是jdbc:oracle:thin:@172.17.0.2:1521:xe
輸入完畢後,按下Next

到了Step 4: Setup security aliases
這裡先跳過,直接按next
https://ithelp.ithome.com.tw/upload/images/20220921/20128973sBFoEP1Rza.png
確認輸入無誤之後,一樣按下Fisish,再按Save儲存異動
儲存完畢之後,再點擊進入我們剛剛建立的iron30
https://ithelp.ithome.com.tw/upload/images/20220921/20128973AmF0Djadpg.png
點擊右方
https://ithelp.ithome.com.tw/upload/images/20220921/20128973oF8tWfVlTW.png
選擇New...
https://ithelp.ithome.com.tw/upload/images/20220921/20128973ONOw2HlTdJ.png
輸入DB欲使用的User的帳號、密碼
https://ithelp.ithome.com.tw/upload/images/20220921/201289737rIzdIU5UB.png
按下ok之後,再按save儲存

此時,再回到 右側選單 > Resources > JDBC > Data sources
點選iron30
下拉到Security settings區塊,選擇如下圖,把剛剛新增的帳號套用進來
https://ithelp.ithome.com.tw/upload/images/20220921/201289736bNdETSFBb.png
再按ok,再按save

接著回到Data sources頁面,
將iron30右方框框打勾,點選上面[Test connection]按鈕
https://ithelp.ithome.com.tw/upload/images/20220921/20128973RNdbxH2FfZ.png
本來預期應該會出現連線成功的訊息,結果發生預料之外的錯誤

The test connection operation failed for data source iron30 on server server1 at node DefaultNode01 with the following exception: java.sql.SQLException: java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=oracle/jdbc/pool/OracleConnectionPoolDataSource, offset=6. View JVM logs for further details.

看來是目前WAS的java版本(jdk 8) 不支援我們放上去的jdbc driver
不過不用緊張,換一個jar就好
下載ojdbc8
https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8/21.7.0.0

一樣複製到container裡面

docker cp "C:/Users/user/Downloads/ojdbc8-21.7.0.0.jar" test-was8.5.5.20:/opt/IBM/WebSphere/AppServer/lib/

將先前放進container的ojdbc10-19.16.0.0.jar移除,以避免class loader 可能載入到ojdbc10的class

docker exec test-was8.5.5.20 rm /opt/IBM/WebSphere/AppServer/lib/ojdbc10-19.16.0.0.jar

回到console
右側選單 > Resources > JDBC > JDBC providers
點擊進入之前新增的Oracle JDBC Driver,更改Class path
https://ithelp.ithome.com.tw/upload/images/20220922/20128973HY2DDcBLic.png
並儲存

按下save儲存後,將container重啟,以確保WAS使用到的JDBC driver是我們要的ojdbc8

再回到Data sources頁面,
將iron30右方框框打勾,點選[Test connection]
https://ithelp.ithome.com.tw/upload/images/20220922/20128973jXq2P4md9j.png
測試連線成功,搞定


上一篇
D06/在WebSphere 建立資料庫連線池(二)
下一篇
D08/在WebSphere 更新應用程式
系列文
30天WebSphere入門及經驗分享36
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言